package cn.iocoder.yudao.module.system.controller.admin.tenantconfig.vo;

import lombok.*;
import java.util.*;
import io.swagger.annotations.*;
import javax.validation.constraints.*;

/**
* 租户参数配置 Base VO，提供给添加、修改、详细的子 VO 使用
* 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
*/
@Data
public class TenantConfigBaseVO {

    @ApiModelProperty(value = "参数表主键id", required = true)
    @NotNull(message = "参数表主键id不能为空")
    private Integer configId;

    @ApiModelProperty(value = "参数键值", required = true)
    @NotNull(message = "参数键值不能为空")
    private String value;

    @ApiModelProperty(value = "备注")
    private String remark;
    /**
     * 参数分类
     */
    private String category;
    /**
     * 参数名称
     */
    private String name;
    /**
     * 参数键名
     *
     * 支持多 DB 类型时，无法直接使用 key + @TableField("config_key") 来实现转换，原因是 "config_key" AS key 而存在报错
     */
    private String configKey;
    /**
     * 参数键值
     */
    private String defaultValue;
    /**
     * 参数类型
     *
     * 枚举 {@link ConfigTypeEnum}
     */
    private Integer type;
    /**
     * 是否可见
     *
     * 不可见的参数，一般是敏感参数，前端不可获取
     */
    private Boolean visible;
    /**
     * 备注
     */
    private String defaultRemark;
}
